package cqrtplm.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigInteger;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName ty_enumerationdef
 */
@TableName(value ="ty_enumerationdef")
@Data
public class TyEnumerationdefDO {
    /**
     * 
     */
    @TableId
    private BigInteger oid;

    /**
     * 
     */
    private String otype;

    /**
     * 
     */
    private Date modifystamp;

    /**
     * 
     */
    private Integer markfordelete;

    /**
     * 
     */
    private Date createstamp;

    /**
     * 
     */
    private Integer system;

    /**
     * 
     */
    private BigInteger enumerationgroupoid;

    /**
     * 
     */
    private String enumerationgroupotype;

    /**
     * 
     */
    private BigInteger containeroid;

    /**
     * 
     */
    private String containerotype;

    /**
     * 
     */
    private Integer organizationscopeisnull;

    /**
     * 
     */
    private String name;

    /**
     * 
     */
    private Integer inheriteddomain;

    /**
     * 
     */
    private BigInteger domainoid;

    /**
     * 
     */
    private String domainotype;

    /**
     * 
     */
    private Date updatestamp;

    /**
     * 
     */
    private Integer updatecount;

    /**
     * 
     */
    private String description;

    /**
     * 
     */
    private BigInteger creatoroid;

    /**
     * 
     */
    private String creatorotype;

    /**
     * 
     */
    private BigInteger parentnodeoid;

    /**
     * 
     */
    private String parentnodeotype;
    private String parentnodename;
    private String parentnodedescription;
    /**
     * 
     */
    private Integer iscolored;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        TyEnumerationdefDO other = (TyEnumerationdefDO) that;
        return (this.getOid() == null ? other.getOid() == null : this.getOid().equals(other.getOid()))
            && (this.getOtype() == null ? other.getOtype() == null : this.getOtype().equals(other.getOtype()))
            && (this.getModifystamp() == null ? other.getModifystamp() == null : this.getModifystamp().equals(other.getModifystamp()))
            && (this.getMarkfordelete() == null ? other.getMarkfordelete() == null : this.getMarkfordelete().equals(other.getMarkfordelete()))
            && (this.getCreatestamp() == null ? other.getCreatestamp() == null : this.getCreatestamp().equals(other.getCreatestamp()))
            && (this.getSystem() == null ? other.getSystem() == null : this.getSystem().equals(other.getSystem()))
            && (this.getEnumerationgroupoid() == null ? other.getEnumerationgroupoid() == null : this.getEnumerationgroupoid().equals(other.getEnumerationgroupoid()))
            && (this.getEnumerationgroupotype() == null ? other.getEnumerationgroupotype() == null : this.getEnumerationgroupotype().equals(other.getEnumerationgroupotype()))
            && (this.getContaineroid() == null ? other.getContaineroid() == null : this.getContaineroid().equals(other.getContaineroid()))
            && (this.getContainerotype() == null ? other.getContainerotype() == null : this.getContainerotype().equals(other.getContainerotype()))
            && (this.getOrganizationscopeisnull() == null ? other.getOrganizationscopeisnull() == null : this.getOrganizationscopeisnull().equals(other.getOrganizationscopeisnull()))
            && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
            && (this.getInheriteddomain() == null ? other.getInheriteddomain() == null : this.getInheriteddomain().equals(other.getInheriteddomain()))
            && (this.getDomainoid() == null ? other.getDomainoid() == null : this.getDomainoid().equals(other.getDomainoid()))
            && (this.getDomainotype() == null ? other.getDomainotype() == null : this.getDomainotype().equals(other.getDomainotype()))
            && (this.getUpdatestamp() == null ? other.getUpdatestamp() == null : this.getUpdatestamp().equals(other.getUpdatestamp()))
            && (this.getUpdatecount() == null ? other.getUpdatecount() == null : this.getUpdatecount().equals(other.getUpdatecount()))
            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
            && (this.getCreatoroid() == null ? other.getCreatoroid() == null : this.getCreatoroid().equals(other.getCreatoroid()))
            && (this.getCreatorotype() == null ? other.getCreatorotype() == null : this.getCreatorotype().equals(other.getCreatorotype()))
            && (this.getParentnodeoid() == null ? other.getParentnodeoid() == null : this.getParentnodeoid().equals(other.getParentnodeoid()))
            && (this.getParentnodeotype() == null ? other.getParentnodeotype() == null : this.getParentnodeotype().equals(other.getParentnodeotype()))
            && (this.getIscolored() == null ? other.getIscolored() == null : this.getIscolored().equals(other.getIscolored()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getOid() == null) ? 0 : getOid().hashCode());
        result = prime * result + ((getOtype() == null) ? 0 : getOtype().hashCode());
        result = prime * result + ((getModifystamp() == null) ? 0 : getModifystamp().hashCode());
        result = prime * result + ((getMarkfordelete() == null) ? 0 : getMarkfordelete().hashCode());
        result = prime * result + ((getCreatestamp() == null) ? 0 : getCreatestamp().hashCode());
        result = prime * result + ((getSystem() == null) ? 0 : getSystem().hashCode());
        result = prime * result + ((getEnumerationgroupoid() == null) ? 0 : getEnumerationgroupoid().hashCode());
        result = prime * result + ((getEnumerationgroupotype() == null) ? 0 : getEnumerationgroupotype().hashCode());
        result = prime * result + ((getContaineroid() == null) ? 0 : getContaineroid().hashCode());
        result = prime * result + ((getContainerotype() == null) ? 0 : getContainerotype().hashCode());
        result = prime * result + ((getOrganizationscopeisnull() == null) ? 0 : getOrganizationscopeisnull().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getInheriteddomain() == null) ? 0 : getInheriteddomain().hashCode());
        result = prime * result + ((getDomainoid() == null) ? 0 : getDomainoid().hashCode());
        result = prime * result + ((getDomainotype() == null) ? 0 : getDomainotype().hashCode());
        result = prime * result + ((getUpdatestamp() == null) ? 0 : getUpdatestamp().hashCode());
        result = prime * result + ((getUpdatecount() == null) ? 0 : getUpdatecount().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getCreatoroid() == null) ? 0 : getCreatoroid().hashCode());
        result = prime * result + ((getCreatorotype() == null) ? 0 : getCreatorotype().hashCode());
        result = prime * result + ((getParentnodeoid() == null) ? 0 : getParentnodeoid().hashCode());
        result = prime * result + ((getParentnodeotype() == null) ? 0 : getParentnodeotype().hashCode());
        result = prime * result + ((getIscolored() == null) ? 0 : getIscolored().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", oid=").append(oid);
        sb.append(", otype=").append(otype);
        sb.append(", modifystamp=").append(modifystamp);
        sb.append(", markfordelete=").append(markfordelete);
        sb.append(", createstamp=").append(createstamp);
        sb.append(", system=").append(system);
        sb.append(", enumerationgroupoid=").append(enumerationgroupoid);
        sb.append(", enumerationgroupotype=").append(enumerationgroupotype);
        sb.append(", containeroid=").append(containeroid);
        sb.append(", containerotype=").append(containerotype);
        sb.append(", organizationscopeisnull=").append(organizationscopeisnull);
        sb.append(", name=").append(name);
        sb.append(", inheriteddomain=").append(inheriteddomain);
        sb.append(", domainoid=").append(domainoid);
        sb.append(", domainotype=").append(domainotype);
        sb.append(", updatestamp=").append(updatestamp);
        sb.append(", updatecount=").append(updatecount);
        sb.append(", description=").append(description);
        sb.append(", creatoroid=").append(creatoroid);
        sb.append(", creatorotype=").append(creatorotype);
        sb.append(", parentnodeoid=").append(parentnodeoid);
        sb.append(", parentnodeotype=").append(parentnodeotype);
        sb.append(", iscolored=").append(iscolored);
        sb.append("]");
        return sb.toString();
    }
}